import pandas as pd
import numpy as np

# series的基本属性和方法
"""
-- shape：返回Series的形状，即行数和列数。
-- size：返回Series的元素个数。
-- index：返回Series的索引。
-- values：返回Series的数值。
-- name：返回Series的名称。
"""
s = ({
    "语文":140,
    "数学":130,
    "英语":120,
    "python":100,
    "java":90,
    "c++":80,
})
s1 = pd.Series(s,name="成绩单")
print(s1)
print(s1.shape)   # (6,) 类型为tuple
print(s1.size)    # 6
print(s1.index)   # 索引
print(s1.values)
print(s1.name)

"""
-- head(n)：返回Series的前n行。    
-- tail(n)：返回Series的后n行。,默认n=5。
"""
print("\n查看数据")
print(s1.head(3))
print(s1.tail(3))    # 默认n=5

# 检测缺失数据
"""
-- isnull()：检测Series中是否有缺失值，返回布尔值Series。
-- notnull()：检测Series中是否没有缺失值，返回布尔值Series。
-- isna()：等同于isnull()。
-- notna()：等同于notnull()。
"""
print("\n检测缺失数据")
s2 = pd.Series([1,2,np.nan,4,5,6])
print(s2.isnull())
print(s2.notnull())
print(s2.isna())
print(s2.notna())

# 使用bool值索引过滤数据
print("\n使用bool值索引过滤数据")
cond = s2.isnull()
print(cond)
print(s2[cond])
print(s2[~cond]) # ~：取反

print("\n使用标签索引过滤数据")
cond2 = s2.notna()
print(cond2)
print(s2[cond2])











